<?php

include "../../lib/start.php";

check_session(AJAX_CALL);
check_permission(ADM_PERM);

$uname = trim($_POST['uname']);
$pwd = trim($_POST['pwd']);
$nome = trim($_POST['nome']);
$cognome = trim($_POST['cognome']);
$gruppi = implode(",", $_POST['gruppi']);
$msg = "";
header("Content-type: text/plain");
switch($_POST['action']){
	case 1:     // inserimento
		$gruppi_utente = explode(",", $gruppi);
		$sel_sum = "SELECT SUM(codice) AS sum FROM gruppi WHERE gid = ".$gruppi_utente[0];
		if(count($gruppi_utente) > 1){
			for($i = 1; $i < count($gruppi_utente); $i++)
				$sel_sum .= " OR gid = ".$gruppi_utente[$i];
		}
		try{
			$sum = $db->executeCount($sel_sum);
		} catch (MySQLException $ex){
			$ex->fake_alert();
		}

		// need a transaction
		try{
			$begin = $db->executeUpdate("BEGIN");
			$statement = "INSERT INTO utenti (username, password, nome, cognome, gruppi, accessi, permessi) VALUES ('$uname', '$pwd', '$nome', '$cognome', '$gruppi', 0, $sum)";
           	$recordset = $db->executeUpdate($statement);
        } catch (MySQLException $ex){
			$db->executeUpdate("ROLLBACK");
			$ex->fake_alert();
		}
		$msg = "Utente inserito correttamente";
		break;
   case 2:     // cancellazione
		/*
		* cancello se docente
	   	 */
       	// need a transaction
		try{
			$begin = $db->executeUpdate("BEGIN");
			$del_teacher = "DELETE FROM docenti WHERE id_docente = ".$_POST['_i'];
			$d1 = $db->executeUpdate($del_teacher);
			$statement = "DELETE FROM utenti WHERE uid = ".$_POST['_i'];
           	$recordset = $db->execute($statement);
		} catch (MySQLException $ex){
			$db->executeUpdate("ROLLBACK");
			$ex->fake_alert();
       	}
        $msg = "Utente cancellato correttamente";
		break;
	case 3:     // modifica
		$gruppi_utente = explode(",", $gruppi);
		$sel_sum = "SELECT SUM(codice) AS sum FROM gruppi WHERE gid = ".$gruppi_utente[0];
        if(count($gruppi_utente) > 1){
			for($i = 1; $i < count($gruppi_utente); $i++)
			$sel_sum .= " OR gid = ".$gruppi_utente[$i];
		}
		try{
           	$sum = $db->executeCount($sel_sum);
        } catch (MySQLException $ex){
			$ex->fake_alert();
		}
		$statement = "UPDATE utenti SET nome = '$nome', cognome = '$cognome', gruppi = '$gruppi', permessi = $sum WHERE uid = ".$_POST['_i'];
		try{
			$recordset = $db->execute($statement);
		} catch (MySQLException $ex){
			$ex->fake_alert();
		}
		$msg = "Utente aggiornato correttamente";
		break;
}

if($_POST['action'] == 1){
    if(in_array(2, $_POST['gruppi'])){
		// docente
       //$sel_max = "SELECT MAX(uid) FROM utenti";
        //$max = $db->executeCount($sel_max);
		try{
			$rs = $db->executeUpdate("INSERT INTO docenti (id_docente, materia) VALUES ($recordset, 999)");
			$db->executeUpdate("COMMIT");
        } catch (MySQLException $ex){
       		$db->executeUpdate("ROLLBACK");
			$ex->fake_alert();
       	}
	}
}

print "ok|$msg";

?>

